Aleph Git
docs/example_plugins/basic.py HEAD (8b8a5035) Text, 1.67 KB
T8b949e# This is a bare-minimum command plugin
T8b949e# example that you can build upon to
T8b949e# implement your own command plugins.
Tff7b72import T7ee787RNS
Tff7b72class T56d364BasicCommandPluginTb4b4b4(Te6edf3SidebandCommandPluginTb4b4b4)Tb4b4b4:
Te6edf3command_name Tff7b72= Ta5d6ff"Ta5d6ffbasic_exampleTa5d6ff"
Tff7b72def Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any initialisation work here
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffBasic command plugin example starting...Ta5d6ff"Tb4b4b4)
T8b949e# And finally call start on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffstopTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Do any teardown work here
Tff7b72pass
T8b949e# And finally call stop on superclass
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstopTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffhandle_commandTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3argumentsTb4b4b4, Te6edf3lxmTb4b4b4)Tb4b4b4:
Te6edf3response_content Tff7b72= Ta5d6ff"Ta5d6ffHello Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettyhexrepTb4b4b4(Te6edf3lxmTff7b72.Td2a8ffsource_hashTb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff. Ta5d6ff"
Te6edf3response_content Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ffThis is a response from the basic command example. It doesnTa5d6ff'Ta5d6fft do much, but here is a list of the arguments you included:Tffea00\nTa5d6ff"
Tff7b72for Te6edf3argument Tff7b72in Te6edf3argumentsTb4b4b4:
Te6edf3response_content Tff7b72+Tff7b72= Ta5d6ff"Tffea00\nTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3argumentTb4b4b4)
T8b949e# Let the Sideband core send a reply.
Tff7b72selfTff7b72.Td2a8ffget_sidebandTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffsend_messageTb4b4b4(
Te6edf3response_contentTb4b4b4,
Te6edf3lxmTff7b72.Td2a8ffsource_hashTb4b4b4,
Tff7b72FalseTb4b4b4, T8b949e# Don't use propagation by default, try direct first
Te6edf3skip_fields Tff7b72= Tff7b72TrueTb4b4b4, T8b949e# Don't include any additional fields automatically
Te6edf3no_display Tff7b72= Tff7b72TrueTb4b4b4, T8b949e# Don't display this message in the message stream
Te6edf3attachment Tff7b72= Tff7b72NoneTb4b4b4, T8b949e# Don't add any attachment field to this message
Te6edf3image Tff7b72= Tff7b72NoneTb4b4b4, T8b949e# Don't add any image field to this message
Te6edf3audio Tff7b72= Tff7b72NoneTb4b4b4, T8b949e# Don't add any audio field to this message
Tb4b4b4)
T8b949e# Finally, tell Sideband what class in this
T8b949e# file is the actual plugin class.
Te6edf3plugin_class Tff7b72= Te6edf3BasicCommandPlugin
Served by rngit 1.4.2 - Generated in 0.03s